package ar.com.mooral.activities;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Hashtable;

import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;
import ar.com.mooral.crohn.application.CrohnContext;
import ar.com.mooral.data.GeneralStatus;
import ar.com.mooral.data.Result;
import ar.com.mooral.pojo.BasePojo;
import ar.com.mooral.pojo.FoodPojo;
import ar.com.mooral.pojo.GeneralStatusPojo;


public class EstadoGeneral extends CrohnActivity {
	
	protected GeneralStatus generalStatus;
	protected String estadoAnterior = "";
	
	protected static String ESTADO_GENERAL_MUY_BUENO 	= "0";
	protected static String ESTADO_GENERAL_REGULAR 		= "1";
	protected static String ESTADO_GENERAL_MALO 		= "2";
	protected static String ESTADO_GENERAL_MUY_MALO 	= "3";
	protected static String ESTADO_GENERAL_MALISIMO 	= "4";
	
	
	private GeneralStatusPojo pojo;

	protected void onStart() {
		super.onStart();

		((Button) findViewById(R.id.btnEstadoGeneralFecha)).setText(CrohnContext.getHumanDate(pojo.getDate()));
		updateStateImages();
	}


	
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.estado_general);

        if (!CrohnContext.isPojoLoaded()) {
			GeneralStatusPojo newPojo = new GeneralStatusPojo();
			newPojo.setDate(CrohnContext.getDateTimeNow("dd/MM/yyyy"));
			CrohnContext.setPojo(newPojo);
		}
		pojo = (GeneralStatusPojo) CrohnContext.getPojo();
		

    	generalStatus = new GeneralStatus(this);
    

        
        // RETORNO
    	Button lblEstadoGeneralRetorno = (Button) findViewById(R.id.btnEstadoGeneralRetorno);
    	lblEstadoGeneralRetorno.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	finish();
		    }
		});
    	
    	
        // REGISTRAR
        Button btnEstadoGeneralRegistrar = (Button) findViewById(R.id.btnEstadoGeneralRegistrar);
        btnEstadoGeneralRegistrar.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {

		    	if (pojo.getStatus() == null || pojo.getStatus().equals("")) {
		    		Result r = new Result(Result.INFO, "Debe seleccionar su estado general");
		    		showMessage(r);
		    	} else {

		    		Result r = generalStatus.save(pojo);
		    		if (r.hasError()) {
			        	//showMessage(r);
			        } else {
				    	finish();
			        }
		    	}
		    }
		});	        


        // SELECCION FECHA Y HORA
        Button btnEstadoGeneralFecha = (Button) findViewById(R.id.btnEstadoGeneralFecha);
        btnEstadoGeneralFecha.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
				Intent intent = new Intent();
				intent.setComponent(new ComponentName(SeleccionFechaHora.class.getPackage().getName(), SeleccionFechaHora.class.getName()));
				startActivity(intent);
		    }
		});	        

        
        Button lblEstadoGeneralNota = (Button) findViewById(R.id.btnEstadoGeneralNota);
        lblEstadoGeneralNota.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	Intent intent = new Intent();
				intent.setComponent(new ComponentName(IngresoNota.class.getPackage().getName(), IngresoNota.class.getName()));
				startActivity(intent);
		    }
		});

        
        // SELECCION ESTADO MUY BUENO
        ImageButton btnEstadoGeneralMuyBueno = (ImageButton) findViewById(R.id.btnEstadoGeneralMuyBueno);
        btnEstadoGeneralMuyBueno.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	pojo.setStatus(ESTADO_GENERAL_MUY_BUENO);
		    	updateStateImages();
		    }
		});	        
    
        // SELECCION ESTADO REGULAR
        ImageButton btnEstadoGeneralRegular = (ImageButton) findViewById(R.id.btnEstadoGeneralRegular);
        btnEstadoGeneralRegular.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	pojo.setStatus(ESTADO_GENERAL_REGULAR);
		    	updateStateImages();
		    }
		});	        
    
        // SELECCION ESTADO MALO
        ImageButton btnEstadoGeneralMalo = (ImageButton) findViewById(R.id.btnEstadoGeneralMalo);
        btnEstadoGeneralMalo.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	pojo.setStatus(ESTADO_GENERAL_MALO);
		    	updateStateImages();
		    }
		});	        
    
        // SELECCION ESTADO MUY MALO
        ImageButton btnEstadoGeneralMuyMalo = (ImageButton) findViewById(R.id.btnEstadoGeneralMuyMalo);
        btnEstadoGeneralMuyMalo.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	pojo.setStatus(ESTADO_GENERAL_MUY_MALO);
		    	updateStateImages();
		    }
		});	        
    
        // SELECCION ESTADO MALISIMO
        ImageButton btnEstadoGeneralMalisimo = (ImageButton) findViewById(R.id.btnEstadoGeneralMalisimo);
        btnEstadoGeneralMalisimo.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	pojo.setStatus(ESTADO_GENERAL_MALISIMO);
		    	updateStateImages();
		    }
		});	        

    }

	protected void updateStateImages(){
    	if(estadoAnterior != null){
    		if(estadoAnterior.equals(ESTADO_GENERAL_MUY_BUENO))
    			((ImageButton) findViewById(R.id.btnEstadoGeneralMuyBueno)).setBackgroundResource(R.drawable.estado_general_muy_bueno);
    		else if(estadoAnterior.equals(ESTADO_GENERAL_REGULAR))
    			((ImageButton) findViewById(R.id.btnEstadoGeneralRegular)).setBackgroundResource(R.drawable.estado_general_regular);
    		else if(estadoAnterior.equals(ESTADO_GENERAL_MALO))
    			((ImageButton) findViewById(R.id.btnEstadoGeneralMalo)).setBackgroundResource(R.drawable.estado_general_malo);
    		else if(estadoAnterior.equals(ESTADO_GENERAL_MUY_MALO))
    			((ImageButton) findViewById(R.id.btnEstadoGeneralMuyMalo)).setBackgroundResource(R.drawable.estado_general_muy_malo);
    		else if(estadoAnterior.equals(ESTADO_GENERAL_MALISIMO))
    			((ImageButton) findViewById(R.id.btnEstadoGeneralMalisimo)).setBackgroundResource(R.drawable.estado_general_malisimo);
    	}
    	if(pojo.getStatus() != null){
    		if(pojo.getStatus().equals(ESTADO_GENERAL_MUY_BUENO))
    			((ImageButton) findViewById(R.id.btnEstadoGeneralMuyBueno)).setBackgroundResource(R.drawable.estado_general_muy_bueno_checked);
    		else if(pojo.getStatus().equals(ESTADO_GENERAL_REGULAR))
    			((ImageButton) findViewById(R.id.btnEstadoGeneralRegular)).setBackgroundResource(R.drawable.estado_general_regular_checked);
    		else if(pojo.getStatus().equals(ESTADO_GENERAL_MALO))
    			((ImageButton) findViewById(R.id.btnEstadoGeneralMalo)).setBackgroundResource(R.drawable.estado_general_malo_checked);
    		else if(pojo.getStatus().equals(ESTADO_GENERAL_MUY_MALO))
    			((ImageButton) findViewById(R.id.btnEstadoGeneralMuyMalo)).setBackgroundResource(R.drawable.estado_general_muy_malo_checked);
    		else if(pojo.getStatus().equals(ESTADO_GENERAL_MALISIMO))
    			((ImageButton) findViewById(R.id.btnEstadoGeneralMalisimo)).setBackgroundResource(R.drawable.estado_general_malisimo_checked);
    	}
    	
    	estadoAnterior = pojo.getStatus();
    }
}
